package cn.px.service.sb;

import cn.px.common.bean.AbstractPageResultBean;
import cn.px.dao.dto.sb.SbModelSpareBomDTO;
import cn.px.dao.dto.sqarepartmanage.SparePartInfoDTO;
import cn.px.dao.entity.sb.SbModelSpareBom;
import cn.px.dao.vo.sb.SbModelSpareBomVO;
import cn.px.service.base.IBaseService;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @Description 型号库-备件bom关联 service
 * @author 品讯科技
 * @date 2024-08
 * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
 */
public interface SbModelSpareBomService extends IBaseService<SbModelSpareBom, SbModelSpareBomDTO> {

   /**
    * 批量删除
    *
    * @param ids ：
    * @return ：
    */
    int batchDelete(List<String> ids);

    /**
     * 分页查询
     * @param record
     * @param pageNum
     * @param pageSize
     * @return
     */
    AbstractPageResultBean<SbModelSpareBomVO> selectPageList(SbModelSpareBomDTO record, int pageNum, int pageSize);

    /**
     * 关联
     * @param dto
     */
    void relate(SbModelSpareBomDTO dto);

    /**
     * 批量取消关联
     * @param dto
     */
    void batchCancelRelate(SbModelSpareBomDTO dto);

    /**
     * 批量导入关联
     *
     * @param file
     * @param modelId
     */
    void importList(MultipartFile file, String modelId);

    /**
     * 分页查询
     *
     * @param dto :
     * @return :
     */
    List<SbModelSpareBomVO> selectVOList(SbModelSpareBomDTO dto);

    List<SbModelSpareBomVO> selectExportList(SparePartInfoDTO sparePartInfoDTO);

 List<SbModelSpareBomVO> selectExportList2(SparePartInfoDTO sparePartInfoDTO);

    String copyFormSb(SbModelSpareBomDTO dto);

    /**
     * 修改BOM
     * @param sbModelSpareBomDTO
     */
    void modModelByDTO(SbModelSpareBomDTO sbModelSpareBomDTO);
}
